package mce.system.configuration;

import java.util.ArrayList;
import java.util.List;

import mce.system.configuration.definition.CharacteristicValue;

public class Characteristic {
	public static final String BLANK = String.valueOf("");
	private boolean _SYSTEM_CHARACTERISTIC;
	private String _NAME_CHAR; // Name of element
	private String _DATA_TYPE; // The type of element's value
	private String _DESCR_CHAR; // Characteristic description
	private boolean _ENTRY_OBLIGATORY; // Entry Required
	private boolean _MULTI_VALUE; // Characteristic for multiple value
	private boolean _NO_INPUT; // Characteristic for read only
	private int _PHASE_NO; // Characteristic for indicator (quote or order)
	private int _NUMBER_DIGITS; // Number of characters
	private int _NUMBER_DECIMALS; // Number of characters
	private boolean _HIDDEN; // Characteristic not to be displayed
	private boolean _HIDDEN_FLAG; // Characteristic not to be displayed
	private String _DEFAULT_MESSAGE; // Message default
	private String _DEFAULT_VALUE; // Default value
	private String _VALUE_DESC; // Characteristic value description
	private String _CHARS_GROUP; // Chars group
	private String _GROUP_NAME; // The name of group
	private String _GROUP_TEXT; // The text of group
	private int _LINE; // Line index
	private String characteristicDataType;// Type of html control
	private List<CharacteristicValue> collectionValues; // Collection data value

	public Characteristic(boolean _SYSTEM_CHARACTERISTIC, String _NAME_CHAR,
			String _DATA_TYPE, String _DESCR_CHAR, boolean _ENTRY_OBLIGATORY,
			boolean _MULTI_VALUE, boolean _NO_INPUT, int _PHASE_NO,
			int _NUMBER_DIGITS, int _NUMBER_DECIMALS, boolean _HIDDEN,
			boolean _HIDDEN_FLAG, String _DEFAULT_MESSAGE,
			String _DEFAULT_VALUE, String _VALUE_DESC, String _CHARS_GROUP,
			String _GROUP_NAME, String _GROUP_TEXT, int _LINE,
			String characteristicDataType,
			List<CharacteristicValue> collectionValues) {
		this._SYSTEM_CHARACTERISTIC = _SYSTEM_CHARACTERISTIC;
		this._NAME_CHAR = _NAME_CHAR;
		this._DATA_TYPE = _DATA_TYPE;
		this._DESCR_CHAR = _DESCR_CHAR;
		this._ENTRY_OBLIGATORY = _ENTRY_OBLIGATORY;
		this._MULTI_VALUE = _MULTI_VALUE;
		this._NO_INPUT = _NO_INPUT;
		this._PHASE_NO = _PHASE_NO;
		this._NUMBER_DIGITS = _NUMBER_DIGITS;
		this._NUMBER_DECIMALS = _NUMBER_DECIMALS;
		this._HIDDEN = _HIDDEN;
		this._HIDDEN_FLAG = _HIDDEN_FLAG;
		this._DEFAULT_MESSAGE = _DEFAULT_MESSAGE;
		this._DEFAULT_VALUE = _DEFAULT_VALUE;
		this._VALUE_DESC = _VALUE_DESC;
		this._CHARS_GROUP = _CHARS_GROUP;
		this._GROUP_NAME = _GROUP_NAME;
		this._GROUP_TEXT = _GROUP_TEXT;
		this._LINE = _LINE;
		this.characteristicDataType = characteristicDataType;
		this.collectionValues = collectionValues;
	}

	public Characteristic() {
		this._SYSTEM_CHARACTERISTIC = Boolean.FALSE;
		this._NAME_CHAR = BLANK;
		this._DATA_TYPE = BLANK;
		this._DESCR_CHAR = BLANK;
		this._ENTRY_OBLIGATORY = Boolean.FALSE;
		this._MULTI_VALUE = Boolean.FALSE;
		this._NO_INPUT = Boolean.FALSE;
		this._PHASE_NO = Integer.MIN_VALUE;
		this._NUMBER_DIGITS = Integer.MIN_VALUE;
		this._NUMBER_DECIMALS = Integer.MIN_VALUE;
		this._HIDDEN = Boolean.FALSE;
		this._HIDDEN_FLAG = Boolean.FALSE;
		this._DEFAULT_MESSAGE = BLANK;
		this._DEFAULT_VALUE = BLANK;
		this._VALUE_DESC = BLANK;
		this._GROUP_NAME = BLANK;
		this._GROUP_TEXT = BLANK;
		this._LINE = Integer.MIN_VALUE;
		this.characteristicDataType = BLANK;
		this.collectionValues = new ArrayList<CharacteristicValue>();
	}

	/**
	 * @return the _SYSTEM_CHARACTERISTIC
	 */
	public boolean is_SYSTEM_CHARACTERISTIC() {
		return _SYSTEM_CHARACTERISTIC;
	}

	/**
	 * @param _SYSTEM_CHARACTERISTIC
	 *            the _SYSTEM_CHARACTERISTIC to set
	 */
	public void set_SYSTEM_CHARACTERISTIC(boolean _SYSTEM_CHARACTERISTIC) {
		this._SYSTEM_CHARACTERISTIC = _SYSTEM_CHARACTERISTIC;
	}

	/**
	 * @return the _NAME_CHAR
	 */
	public String get_NAME_CHAR() {
		return _NAME_CHAR;
	}

	/**
	 * @param _NAME_CHAR
	 *            the _NAME_CHAR to set
	 */
	public void set_NAME_CHAR(String _NAME_CHAR) {
		this._NAME_CHAR = _NAME_CHAR;
	}

	/**
	 * @return the _DATA_TYPE
	 */
	public String get_DATA_TYPE() {
		return _DATA_TYPE;
	}

	/**
	 * @param _DATA_TYPE
	 *            the _DATA_TYPE to set
	 */
	public void set_DATA_TYPE(String _DATA_TYPE) {
		this._DATA_TYPE = _DATA_TYPE;
	}

	/**
	 * @return the _DESCR_CHAR
	 */
	public String get_DESCR_CHAR() {
		return _DESCR_CHAR;
	}

	/**
	 * @param _DESCR_CHAR
	 *            the _DESCR_CHAR to set
	 */
	public void set_DESCR_CHAR(String _DESCR_CHAR) {
		this._DESCR_CHAR = _DESCR_CHAR;
	}

	/**
	 * @return the _ENTRY_OBLIGATORY
	 */
	public boolean is_ENTRY_OBLIGATORY() {
		return _ENTRY_OBLIGATORY;
	}

	/**
	 * @param _ENTRY_OBLIGATORY
	 *            the _ENTRY_OBLIGATORY to set
	 */
	public void set_ENTRY_OBLIGATORY(boolean _ENTRY_OBLIGATORY) {
		this._ENTRY_OBLIGATORY = _ENTRY_OBLIGATORY;
	}

	/**
	 * @return the _MULTI_VALUE
	 */
	public boolean is_MULTI_VALUE() {
		return _MULTI_VALUE;
	}

	/**
	 * @param _MULTI_VALUE
	 *            the _MULTI_VALUE to set
	 */
	public void set_MULTI_VALUE(boolean _MULTI_VALUE) {
		this._MULTI_VALUE = _MULTI_VALUE;
	}

	/**
	 * @return the _NO_INPUT
	 */
	public boolean is_NO_INPUT() {
		return _NO_INPUT;
	}

	/**
	 * @param _NO_INPUT
	 *            the _NO_INPUT to set
	 */
	public void set_NO_INPUT(boolean _NO_INPUT) {
		this._NO_INPUT = _NO_INPUT;
	}

	/**
	 * @return the _PHASE_NO
	 */
	public int get_PHASE_NO() {
		return _PHASE_NO;
	}

	/**
	 * @param _PHASE_NO
	 *            the _PHASE_NO to set
	 */
	public void set_PHASE_NO(int _PHASE_NO) {
		this._PHASE_NO = _PHASE_NO;
	}

	/**
	 * @return the _NUMBER_DIGITS
	 */
	public int get_NUMBER_DIGITS() {
		return _NUMBER_DIGITS;
	}

	/**
	 * @param _NUMBER_DIGITS
	 *            the _NUMBER_DIGITS to set
	 */
	public void set_NUMBER_DIGITS(int _NUMBER_DIGITS) {
		this._NUMBER_DIGITS = _NUMBER_DIGITS;
	}

	/**
	 * @return the _NUMBER_DECIMALS
	 */
	public int get_NUMBER_DECIMALS() {
		return _NUMBER_DECIMALS;
	}

	/**
	 * @param _NUMBER_DECIMALS
	 *            the _NUMBER_DECIMALS to set
	 */
	public void set_NUMBER_DECIMALS(int _NUMBER_DECIMALS) {
		this._NUMBER_DECIMALS = _NUMBER_DECIMALS;
	}

	/**
	 * @return the _HIDDEN
	 */
	public boolean is_HIDDEN() {
		return _HIDDEN;
	}

	/**
	 * @param _HIDDEN
	 *            the _HIDDEN to set
	 */
	public void set_HIDDEN(boolean _HIDDEN) {
		this._HIDDEN = _HIDDEN;
	}

	/**
	 * @return the _HIDDEN_FLAG
	 */
	public boolean is_HIDDEN_FLAG() {
		return _HIDDEN_FLAG;
	}

	/**
	 * @param _HIDDEN_FLAG
	 *            the _HIDDEN_FLAG to set
	 */
	public void set_HIDDEN_FLAG(boolean _HIDDEN_FLAG) {
		this._HIDDEN_FLAG = _HIDDEN_FLAG;
	}

	/**
	 * @return the _DEFAULT_MESSAGE
	 */
	public String get_DEFAULT_MESSAGE() {
		return _DEFAULT_MESSAGE;
	}

	/**
	 * @param _DEFAULT_MESSAGE
	 *            the _DEFAULT_MESSAGE to set
	 */
	public void set_DEFAULT_MESSAGE(String _DEFAULT_MESSAGE) {
		this._DEFAULT_MESSAGE = _DEFAULT_MESSAGE;
	}

	/**
	 * @return the _DEFAULT_VALUE
	 */
	public String get_DEFAULT_VALUE() {
		return _DEFAULT_VALUE;
	}

	/**
	 * @param _DEFAULT_VALUE
	 *            the _DEFAULT_VALUE to set
	 */
	public void set_DEFAULT_VALUE(String _DEFAULT_VALUE) {
		this._DEFAULT_VALUE = _DEFAULT_VALUE;
	}

	/**
	 * @return the _VALUE_DESC
	 */
	public String get_VALUE_DESC() {
		return _VALUE_DESC;
	}

	/**
	 * @param _VALUE_DESC
	 *            the _VALUE_DESC to set
	 */
	public void set_VALUE_DESC(String _VALUE_DESC) {
		this._VALUE_DESC = _VALUE_DESC;
	}

	/**
	 * @return the _CHARS_GROUP
	 */
	public String get_CHARS_GROUP() {
		return _CHARS_GROUP;
	}

	/**
	 * @param _CHARS_GROUP
	 *            the _CHARS_GROUP to set
	 */
	public void set_CHARS_GROUP(String _CHARS_GROUP) {
		this._CHARS_GROUP = _CHARS_GROUP;
	}

	/**
	 * @return the _GROUP_NAME
	 */
	public String get_GROUP_NAME() {
		return _GROUP_NAME;
	}

	/**
	 * @param _GROUP_NAME
	 *            the _GROUP_NAME to set
	 */
	public void set_GROUP_NAME(String _GROUP_NAME) {
		this._GROUP_NAME = _GROUP_NAME;
	}

	/**
	 * @return the _GROUP_TEXT
	 */
	public String get_GROUP_TEXT() {
		return _GROUP_TEXT;
	}

	/**
	 * @param _GROUP_TEXT
	 *            the _GROUP_TEXT to set
	 */
	public void set_GROUP_TEXT(String _GROUP_TEXT) {
		this._GROUP_TEXT = _GROUP_TEXT;
	}

	/**
	 * @return the _LINE
	 */
	public int get_LINE() {
		return _LINE;
	}

	/**
	 * @param _LINE
	 *            the _LINE to set
	 */
	public void set_LINE(int _LINE) {
		this._LINE = _LINE;
	}

	/**
	 * @return the characteristicDataType
	 */
	public String getCharacteristicDataType() {
		return characteristicDataType;
	}

	/**
	 * @param characteristicDataType
	 *            the characteristicDataType to set
	 */
	public void setCharacteristicDataType(String characteristicDataType) {
		this.characteristicDataType = characteristicDataType;
	}

	/**
	 * @return the collectionValues
	 */
	public List<CharacteristicValue> getCollectionValues() {
		return collectionValues;
	}

	/**
	 * @param collectionValues
	 *            the collectionValues to set
	 */
	public void setCollectionValues(
			List<CharacteristicValue> collectionValues) {
		this.collectionValues = collectionValues;
	}

}
